/**
* Plugin Name: Elementor
* Description: The Elementor Website Builder has it all: drag and drop page builder, pixel perfect design, mobile responsive editing, and more. Get started now!
* Plugin URI: https://elementor.com/?utm_source=wp-plugins&utm_campaign=plugin-uri&utm_medium=wp-dash
* Author: Elementor.com
* Version: 3.14.1
* Author URI: https://elementor.com/?utm_source=wp-plugins&utm_campaign=author-uri&utm_medium=wp-dash
*
* Text Domain: elementor
*
* @package Elementor
* @category Core
*
* Elementor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* Elementor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
define( 'ELEMENTOR_VERSION', '3.14.1' );
define( 'ELEMENTOR__FILE__', __FILE__ );
define( 'ELEMENTOR_PLUGIN_BASE', plugin_basename( ELEMENTOR__FILE__ ) );
define( 'ELEMENTOR_PATH', plugin_dir_path( ELEMENTOR__FILE__ ) );
if ( defined( 'ELEMENTOR_TESTS' ) && ELEMENTOR_TESTS ) {
define( 'ELEMENTOR_URL', 'file://' . ELEMENTOR_PATH );
} else {
define( 'ELEMENTOR_URL', plugins_url( '/', ELEMENTOR__FILE__ ) );
}
define( 'ELEMENTOR_MODULES_PATH', plugin_dir_path( ELEMENTOR__FILE__ ) . '/modules' );
define( 'ELEMENTOR_ASSETS_PATH', ELEMENTOR_PATH . 'assets/' );
define( 'ELEMENTOR_ASSETS_URL', ELEMENTOR_URL . 'assets/' );
add_action( 'plugins_loaded', 'elementor_load_plugin_textdomain' );
if ( ! version_compare( PHP_VERSION, '7.0', '>=' ) ) {
add_action( 'admin_notices', 'elementor_fail_php_version' );
} elseif ( ! version_compare( get_bloginfo( 'version' ), '5.9', '>=' ) ) {
add_action( 'admin_notices', 'elementor_fail_wp_version' );
} else {
require ELEMENTOR_PATH . 'includes/plugin.php';
}
/**
* Load Elementor textdomain.
*
* Load gettext translate for Elementor text domain.
*
* @since 1.0.0
*
* @return void
*/
function elementor_load_plugin_textdomain() {
load_plugin_textdomain( 'elementor' );
}
/**
* Elementor admin notice for minimum PHP version.
*
* Warning when the site doesn't have the minimum required PHP version.
*
* @since 1.0.0
*
* @return void
*/
function elementor_fail_php_version() {
$message = sprintf(
/* translators: 1: `
` opening tag, 2: ` ` closing tag, 3: PHP version. 4: Link opening tag, 5: Link closing tag. */
esc_html__( '%1$sElementor isn’t running because PHP is outdated.%2$s Update to PHP version %3$s and get back to creating! %4$sShow me how%5$s', 'elementor' ),
'',
' ',
'7.0',
'',
' '
);
$html_message = sprintf( '%s
', wpautop( $message ) );
echo wp_kses_post( $html_message );
}
/**
* Elementor admin notice for minimum WordPress version.
*
* Warning when the site doesn't have the minimum required WordPress version.
*
* @since 1.5.0
*
* @return void
*/
function elementor_fail_wp_version() {
$message = sprintf(
/* translators: 1: `` opening tag, 2: ` ` closing tag, 3: WP version. 4: Link opening tag, 5: Link closing tag. */
esc_html__( '%1$sElementor isn’t running because WordPress is outdated.%2$s Update to version %3$s and get back to creating! %4$sShow me how%5$s', 'elementor' ),
'',
' ',
'5.9',
'',
' '
);
$html_message = sprintf( '%s
', wpautop( $message ) );
echo wp_kses_post( $html_message );
}
/**
* PA Elements.
*/
use PremiumAddons\Includes\Helper_Functions;
$prefix = Helper_Functions::get_prefix();
$elements = array(
'cat-1' => array(
'icon' => 'all',
'title' => __( 'All Widgets', 'premium-addons-for-elementor' ),
'elements' => array(
array(
'key' => 'premium-notifications',
'name' => 'premium-notifications',
'title' => __( 'Recent Posts Notification', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-recent-posts-notification-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-recent-posts-notification-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
array(
'key' => 'premium-tcloud',
'name' => 'premium-tcloud',
'title' => __( 'Tags Cloud', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-tags-cloud-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-tags-cloud-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-site-logo',
'name' => 'premium-site-logo',
'title' => __( 'Site Logo', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-site-logo-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-site-logo-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
'icon' => 'pa-pro-site-logo',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-site-logo-widget/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-lottie-widget',
'name' => 'premium-lottie',
'title' => __( 'Lottie Animations', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-lottie-animations-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/lottie-animations-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=0QWzUpF57dw',
),
array(
'key' => 'premium-carousel',
'name' => 'premium-carousel-widget',
'title' => __( 'Carousel', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/carousel-widget-for-elementor-page-builder', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/carousel/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=ZMgprLKvq24',
),
array(
'key' => 'premium-blog',
'name' => 'premium-addon-blog',
'title' => __( 'Blog', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/blog-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/blog/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-smart-post-listing',
'name' => 'premium-smart-post-listing',
'title' => __( 'Smart Post Listing', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-smart-post-listing-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/smart-post-listing-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-smart-post-listing-widget/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-nav-menu',
'name' => 'premium-nav-menu',
'title' => __( 'Nav/Mega Menu', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-mega-menu-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-mega-menu-widget-tutorial', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-maps',
'name' => 'premium-addon-maps',
'title' => __( 'Google Maps', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/google-maps-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/google-maps/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=z4taEeCY77Q',
),
array(
'key' => 'premium-person',
'name' => 'premium-addon-person',
'title' => __( 'Team Members', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/persons-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/persons-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-svg-drawer',
'name' => 'premium-svg-drawer',
'title' => __( 'SVG Draw', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-svg-draw-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-svg-draw-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-tabs',
'name' => 'premium-addon-tabs',
'title' => __( 'Tabs', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-tabs-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/tabs-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
'icon' => 'pa-pro-tabs',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-tabs-widget/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-content-toggle',
'name' => 'premium-addon-content-toggle',
'title' => __( 'Content Switcher', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/content-switcher-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-content-switcher/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'icon' => 'pa-pro-content-switcher',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/content-switcher-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-fancytext',
'name' => 'premium-addon-fancy-text',
'title' => __( 'Fancy Text', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/fancy-text-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/fancy-text-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-title',
'name' => 'premium-addon-title',
'title' => __( 'Heading', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/heading-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/heading-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
array(
'key' => 'premium-dual-header',
'name' => 'premium-addon-dual-header',
'title' => __( 'Dual Heading', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/dual-header-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/dual-heading-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-divider',
'name' => 'premium-divider',
'title' => __( 'Divider', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/divider-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/divider-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
'icon' => 'pa-pro-separator',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/divider-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-grid',
'name' => 'premium-img-gallery',
'title' => __( 'Media Grid', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/grid-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/grid/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-image-scroll',
'name' => 'premium-image-scroll',
'title' => __( 'Image Scroll', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-image-scroll-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-image-separator',
'name' => 'premium-addon-image-separator',
'title' => __( 'Image Separator', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-separator-widget-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-separator-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
array(
'key' => 'premium-image-comparison',
'name' => 'premium-addon-image-comparison',
'title' => __( 'Image Comparison', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-comparison-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-image-comparison-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'icon' => 'pa-pro-image-comparison',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-comparison-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-image-hotspots',
'name' => 'premium-addon-image-hotspots',
'title' => __( 'Image Hotspots', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-hotspots-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-hotspots-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
'icon' => 'pa-pro-hot-spot',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-hotspots-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-img-layers',
'name' => 'premium-img-layers-addon',
'title' => __( 'Image Layers', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-layers-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/image-layers/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=D3INxWw_jKI',
'is_pro' => true,
'draw_svg' => true,
'icon' => 'pa-pro-image-layers',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-layers-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-image-accordion',
'name' => 'premium-image-accordion',
'title' => __( 'Image Accordion', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-image-accordion-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-accordion-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
'icon' => 'pa-pro-image-accordion',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-image-accordion-widget/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-videobox',
'name' => 'premium-addon-video-box',
'title' => __( 'Video Box', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/video-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/video-box/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-hscroll',
'name' => 'premium-hscroll',
'title' => __( 'Horizontal Scroll', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-horizontal-scroll-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/horizontal-scroll/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=4HqT_3s-ZXg',
'is_pro' => true,
'icon' => 'pa-pro-horizontal-scroll',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-horizontal-scroll-widget/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-vscroll',
'name' => 'premium-vscroll',
'title' => __( 'Vertical Scroll', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/vertical-scroll-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/vertical-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=MuLaIn1QXfQ',
),
array(
'key' => 'premium-color-transition',
'name' => 'premium-color-transition',
'title' => __( 'Background Transition', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-background-transition-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/background-transition-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'icon' => 'pa-pro-color-transition',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-background-transition-widget/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-multi-scroll',
'name' => 'premium-multi-scroll',
'title' => __( 'Multi Scroll', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/multi-scroll-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/multi-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=IzYnD6oDYXw',
'is_pro' => true,
'icon' => 'pa-pro-multi-scroll',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/multi-scroll-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-lottie',
'title' => __( 'Lottie Animations', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-lottie-animations-section-addon/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/lottie-background/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=KVrenWNEdkY',
'is_pro' => true,
'is_global' => true,
),
array(
'key' => 'premium-parallax',
'title' => __( 'Parallax', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/parallax-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/parallax-section-addon-tutorial-2/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=hkMNjxLoZ2w',
'is_pro' => true,
'draw_svg' => true,
'is_global' => true,
),
array(
'key' => 'premium-particles',
'title' => __( 'Particles', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/particles-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/particles/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=bPmWKv4VWrI',
'is_pro' => true,
'is_global' => true,
),
array(
'key' => 'premium-gradient',
'title' => __( 'Animated Gradient', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/animated-section-gradients-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/animated-gradient-section-addon-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=IL4USvwR6K4',
'is_pro' => true,
'is_global' => true,
),
array(
'key' => 'premium-kenburns',
'title' => __( 'Animated Ken Burns', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/ken-burns-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/ken-burns-section-addon-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=DUNFjWphZfs',
'is_pro' => true,
'is_global' => true,
),
array(
'key' => 'premium-blob',
'title' => __( 'Blob Generator', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-animated-blob-generator/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'is_global' => true,
),
array(
'key' => 'premium-modalbox',
'name' => 'premium-addon-modal-box',
'title' => __( 'Modal Box', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/modal-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/modal-box/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=3lLxSyf2nyk',
'draw_svg' => true,
),
array(
'key' => 'premium-notbar',
'name' => 'premium-notbar',
'title' => __( 'Alert Box', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/alert-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/alert-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
'icon' => 'pa-pro-notification-bar',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/alert-box-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-magic-section',
'name' => 'premium-addon-magic-section',
'title' => __( 'Magic Section', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/magic-section-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/magic-section-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
'icon' => 'pa-pro-magic-section',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/magic-section-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-prev-img',
'name' => 'premium-addon-preview-image',
'title' => __( 'Preview Window', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/preview-window-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/preview-window-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=EmptjFjrc4E',
'is_pro' => true,
'draw_svg' => true,
'icon' => 'pa-pro-preview-window',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/preview-window-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-testimonials',
'name' => 'premium-addon-testimonials',
'title' => __( 'Testimonials', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/testimonials-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/testimonials-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-facebook-reviews',
'name' => 'premium-facebook-reviews',
'title' => __( 'Facebook Reviews', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/facebook-reviews-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/facebook-reviews/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=zl-OFo3IFd8',
'is_pro' => true,
'icon' => 'pa-pro-facebook-reviews',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/facebook-reviews-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-google-reviews',
'name' => 'premium-google-reviews',
'title' => __( 'Google Reviews', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/google-reviews-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/google-reviews/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=Z0EeGyD34Zk',
'is_pro' => true,
'icon' => 'pa-pro-google-reviews',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/google-reviews-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-yelp-reviews',
'name' => 'premium-yelp-reviews',
'title' => __( 'Yelp Reviews', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-yelp-reviews-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/yelp-reviews/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=5T-MveVFvns',
'is_pro' => true,
'icon' => 'pa-pro-yelp-reviews',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-yelp-reviews-widget/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-countdown',
'name' => 'premium-countdown-timer',
'title' => __( 'Countdown', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/countdown-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/countdown-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-banner',
'name' => 'premium-addon-banner',
'title' => __( 'Banner', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/banner-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-banner-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-button',
'name' => 'premium-addon-button',
'title' => __( 'Button', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/button-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/button/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=w4NuCUkCIV4',
'draw_svg' => true,
),
array(
'key' => 'premium-image-button',
'name' => 'premium-addon-image-button',
'title' => __( 'Image Button', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-button-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/image-button/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
array(
'key' => 'premium-flipbox',
'name' => 'premium-addon-flip-box',
'title' => __( '3D Hover Box', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/3d-hover-box-flip-box-widget-for-elementor/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/flip-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
'icon' => 'pa-pro-flip-box',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/3d-hover-box-flip-box-widget-for-elementor/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-iconbox',
'name' => 'premium-addon-icon-box',
'title' => __( 'Icon Box', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/icon-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/icon-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
'icon' => 'pa-pro-icon-box',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/icon-box-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-ihover',
'name' => 'premium-ihover',
'title' => __( 'iHover', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/ihover-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-ihover-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
'icon' => 'pa-pro-ihover',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/ihover-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-unfold',
'name' => 'premium-unfold-addon',
'title' => __( 'Unfold', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/unfold-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-unfold-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'icon' => 'pa-pro-unfold',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/unfold-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-icon-list',
'name' => 'premium-icon-list',
'title' => __( 'Bullet List', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-bullet-list-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/bullet-list-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=MPeXJiZ14sI',
'draw_svg' => true,
),
array(
'key' => 'premium-facebook-feed',
'name' => 'premium-facebook-feed',
'title' => __( 'Facebook Feed', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-facebook-feed-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/facebook-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'icon' => 'pa-pro-facebook-feed',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-facebook-feed-widget/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-twitter-feed',
'name' => 'premium-twitter-feed',
'title' => __( 'Twitter Feed', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/twitter-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/twitter-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=wsurRDuR6pg',
'is_pro' => true,
'icon' => 'pa-pro-twitter-feed',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/twitter-feed-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-instagram-feed',
'name' => 'premium-addon-instagram-feed',
'title' => __( 'Instagram Feed', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/instagram-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/instagram-feed/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'icon' => 'pa-pro-instagram-feed',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/instagram-feed-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-pinterest-feed',
'name' => 'premium-pinterest-feed',
'title' => __( 'Pinterest Feed', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-pinterest-feed-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-pinterest-feed-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'icon' => 'pa-pinterest',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-pinterest-feed-widget/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-behance',
'name' => 'premium-behance-feed',
'title' => __( 'Behance Feed', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/behance-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/behance-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=AXATK3oIXl0',
'is_pro' => true,
'icon' => 'pa-pro-behance-feed',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/behance-feed-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-progressbar',
'name' => 'premium-addon-progressbar',
'title' => __( 'Progress Bar', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/progress-bar-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-progress-bar-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=Y7xqwhgDQJg',
'draw_svg' => true,
),
array(
'key' => 'premium-pricing-table',
'name' => 'premium-addon-pricing-table',
'title' => __( 'Pricing Table', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/pricing-table-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/pricing-table-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
array(
'key' => 'premium-charts',
'name' => 'premium-chart',
'title' => __( 'Charts', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/charts-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/charts-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=lZZvslQ2UYU',
'is_pro' => true,
'icon' => 'pa-pro-charts',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/charts-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-tables',
'name' => 'premium-tables-addon',
'title' => __( 'Table', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/table-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/table-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'icon' => 'pa-pro-table',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/table-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-counter',
'name' => 'premium-counter',
'title' => __( 'Counter', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/counter-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/counter-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
array(
'key' => 'premium-contactform',
'name' => 'premium-contact-form',
'title' => __( 'Contact Form 7', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/contact-form-7-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/contact-form-7-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-fb-chat',
'name' => 'premium-addon-facebook-chat',
'title' => __( 'Facebook Messenger Chat', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/facebook-messenger-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/facebook-messenger/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'icon' => 'pa-pro-messenger-chat',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/facebook-messenger-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'premium-whatsapp-chat',
'name' => 'premium-whatsapp-chat',
'title' => __( 'WhatsApp Chat', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/whatsapp-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/whatsapp-chat-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
'icon' => 'pa-pro-whatsapp',
'action_url' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/whatsapp-widget-for-elementor-page-builder/', 'editor-page', 'wp-editor', 'get-pro' ),
),
array(
'key' => 'woo-products',
'title' => __( 'Woo Products', 'premium-addons-for-elementor' ),
'name' => 'premium-woo-products',
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-woocommerce-products/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-woocommerce-products-listing-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-world-clock',
'name' => 'premium-world-clock',
'title' => __( 'World Clock', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-world-clock-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-world-clock-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-post-ticker',
'name' => 'premium-post-ticker',
'title' => __( 'News Ticker', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-news-ticker-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-news-ticker-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
array(
'key' => 'premium-weather',
'name' => 'premium-weather',
'title' => __( 'Weather', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-weather-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-weather-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
),
),
'cat-2' => array(
'icon' => 'content',
'title' => __( 'Content Widgets', 'premium-addons-for-elementor' ),
'elements' => array(
array(
'key' => 'premium-carousel',
'name' => 'premium-carousel-widget',
'title' => __( 'Carousel', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/carousel-widget-for-elementor-page-builder', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/carousel/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=ZMgprLKvq24',
),
array(
'key' => 'premium-blog',
'name' => 'premium-addon-blog',
'title' => __( 'Blog', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/blog-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/blog/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-smart-post-listing',
'name' => 'premium-smart-post-listing',
'title' => __( 'Smart Post Listing', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-smart-post-listing-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/smart-post-listing-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
),
array(
'key' => 'premium-post-ticker',
'name' => 'premium-post-ticker',
'title' => __( 'News Ticker', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-news-ticker-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-news-ticker-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
array(
'key' => 'premium-notifications',
'name' => 'premium-notifications',
'title' => __( 'Recent Posts Notification', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-recent-posts-notification-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-recent-posts-notification-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
array(
'key' => 'premium-tcloud',
'name' => 'premium-tcloud',
'title' => __( 'Tags Cloud', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-tags-cloud-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-tags-cloud-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-nav-menu',
'name' => 'premium-nav-menu',
'title' => __( 'Nav/Mega Menu', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-mega-menu-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-mega-menu-widget-tutorial', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-maps',
'name' => 'premium-addon-maps',
'title' => __( 'Google Maps', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/google-maps-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/google-maps/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=z4taEeCY77Q',
),
array(
'key' => 'premium-person',
'name' => 'premium-addon-person',
'title' => __( 'Team Members', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/persons-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/persons-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-tabs',
'name' => 'premium-addon-tabs',
'title' => __( 'Tabs', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-tabs-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/tabs-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
),
array(
'key' => 'premium-content-toggle',
'name' => 'premium-addon-content-toggle',
'title' => __( 'Content Switcher', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/content-switcher-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-content-switcher/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
),
array(
'key' => 'premium-fancytext',
'name' => 'premium-addon-fancy-text',
'title' => __( 'Fancy Text', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/fancy-text-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/fancy-text-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-title',
'name' => 'premium-addon-title',
'title' => __( 'Heading', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/heading-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/heading-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
array(
'key' => 'premium-dual-header',
'name' => 'premium-addon-dual-header',
'title' => __( 'Dual Heading', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/dual-header-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/dual-heading-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-divider',
'name' => 'premium-divider',
'title' => __( 'Divider', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/divider-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/divider-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
),
),
),
'cat-3' => array(
'icon' => 'images',
'title' => __( 'Image & Video Widgets', 'premium-addons-for-elementor' ),
'elements' => array(
array(
'key' => 'premium-grid',
'name' => 'premium-img-gallery',
'title' => __( 'Media Grid', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/grid-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/grid-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-image-scroll',
'name' => 'premium-image-scroll',
'title' => __( 'Image Scroll', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-image-scroll-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-image-separator',
'name' => 'premium-addon-image-separator',
'title' => __( 'Image Separator', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-separator-widget-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-separator-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
array(
'key' => 'premium-image-comparison',
'name' => 'premium-addon-image-comparison',
'title' => __( 'Image Comparison', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-comparison-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-image-comparison-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
),
array(
'key' => 'premium-image-hotspots',
'name' => 'premium-addon-image-hotspots',
'title' => __( 'Image Hotspots', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-hotspots-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-hotspots-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
),
array(
'key' => 'premium-img-layers',
'name' => 'premium-img-layers-addon',
'title' => __( 'Image Layers', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-layers-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/image-layers/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=D3INxWw_jKI',
'is_pro' => true,
'draw_svg' => true,
),
array(
'key' => 'premium-image-accordion',
'name' => 'premium-image-accordion',
'title' => __( 'Image Accordion', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-image-accordion-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/image-accordion-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
),
array(
'key' => 'premium-videobox',
'name' => 'premium-addon-video-box',
'title' => __( 'Video Box', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/video-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/video-box/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-site-logo',
'name' => 'premium-site-logo',
'title' => __( 'Site Logo', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-site-logo-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-site-logo-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
'icon' => 'pa-pro-site-logo',
),
),
),
'cat-4' => array(
'icon' => 'section',
'title' => __( 'Section Addons & Widgets', 'premium-addons-for-elementor' ),
'elements' => array(
array(
'key' => 'premium-hscroll',
'name' => 'premium-hscroll',
'title' => __( 'Horizontal Scroll', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-horizontal-scroll-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/horizontal-scroll/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=4HqT_3s-ZXg',
'is_pro' => true,
),
array(
'key' => 'premium-vscroll',
'name' => 'premium-vscroll',
'title' => __( 'Vertical Scroll', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/vertical-scroll-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/vertical-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=MuLaIn1QXfQ',
),
array(
'key' => 'premium-color-transition',
'name' => 'premium-color-transition',
'title' => __( 'Background Transition', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-background-transition-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/background-transition-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
),
array(
'key' => 'premium-multi-scroll',
'name' => 'premium-multi-scroll',
'title' => __( 'Multi Scroll', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/multi-scroll-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/multi-scroll-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=IzYnD6oDYXw',
'is_pro' => true,
),
array(
'key' => 'premium-lottie',
'title' => __( 'Lottie Animations', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-lottie-animations-section-addon/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/lottie-background/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=KVrenWNEdkY',
'is_pro' => true,
'is_global' => true,
),
array(
'key' => 'premium-parallax',
'title' => __( 'Parallax', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/parallax-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/parallax-section-addon-tutorial-2/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=hkMNjxLoZ2w',
'is_pro' => true,
'draw_svg' => true,
'is_global' => true,
),
array(
'key' => 'premium-particles',
'title' => __( 'Particles', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/particles-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/particles/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=bPmWKv4VWrI',
'is_pro' => true,
'is_global' => true,
),
array(
'key' => 'premium-gradient',
'title' => __( 'Animated Gradient', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/animated-section-gradients-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/animated-gradient-section-addon-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=IL4USvwR6K4',
'is_pro' => true,
'is_global' => true,
),
array(
'key' => 'premium-kenburns',
'title' => __( 'Animated Ken Burns', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/ken-burns-section-addon-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/ken-burns-section-addon-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=DUNFjWphZfs',
'is_pro' => true,
'is_global' => true,
),
array(
'key' => 'premium-blob',
'title' => __( 'Blob Generator', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-animated-blob-generator/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'is_global' => true,
),
),
),
'cat-5' => array(
'icon' => 'off-grid',
'title' => __( 'Off-Grid Widgets', 'premium-addons-for-elementor' ),
'elements' => array(
array(
'key' => 'premium-modalbox',
'name' => 'premium-addon-modal-box',
'title' => __( 'Modal Box', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/modal-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/modal-box/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=3lLxSyf2nyk',
'draw_svg' => true,
),
array(
'key' => 'premium-notbar',
'name' => 'premium-notbar',
'title' => __( 'Alert Box', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/alert-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/alert-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
),
array(
'key' => 'premium-magic-section',
'name' => 'premium-addon-magic-section',
'title' => __( 'Magic Section', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/magic-section-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/magic-section-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
),
array(
'key' => 'premium-prev-img',
'name' => 'premium-addon-preview-image',
'title' => __( 'Preview Window', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/preview-window-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/preview-window-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=EmptjFjrc4E',
'is_pro' => true,
'draw_svg' => true,
),
),
),
'cat-6' => array(
'icon' => 'social',
'title' => __( 'Reviews & Testimonials Widgets', 'premium-addons-for-elementor' ),
'elements' => array(
array(
'key' => 'premium-testimonials',
'name' => 'premium-addon-testimonials',
'title' => __( 'Testimonials', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/testimonials-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/testimonials-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-facebook-reviews',
'name' => 'premium-facebook-reviews',
'title' => __( 'Facebook Reviews', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/facebook-reviews-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/facebook-reviews/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=zl-OFo3IFd8',
'is_pro' => true,
),
array(
'key' => 'premium-google-reviews',
'name' => 'premium-google-reviews',
'title' => __( 'Google Reviews', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/google-reviews-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/google-reviews/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=Z0EeGyD34Zk',
'is_pro' => true,
),
array(
'key' => 'premium-yelp-reviews',
'name' => 'premium-yelp-reviews',
'title' => __( 'Yelp Reviews', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-yelp-reviews-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/yelp-reviews/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=5T-MveVFvns',
'is_pro' => true,
),
),
),
'cat-7' => array(
'icon' => 'blurbs',
'title' => __( 'Blurbs & CTA Widgets', 'premium-addons-for-elementor' ),
'elements' => array(
array(
'key' => 'premium-countdown',
'name' => 'premium-countdown-timer',
'title' => __( 'Countdown', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/countdown-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/countdown-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-banner',
'name' => 'premium-addon-banner',
'title' => __( 'Banner', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/banner-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-banner-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-button',
'name' => 'premium-addon-button',
'title' => __( 'Button', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/button-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/button/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=w4NuCUkCIV4',
'draw_svg' => true,
),
array(
'key' => 'premium-image-button',
'title' => __( 'Image Button', 'premium-addons-for-elementor' ),
'name' => 'premium-addon-image-button',
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/image-button-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/image-button/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
array(
'key' => 'premium-flipbox',
'name' => 'premium-addon-flip-box',
'title' => __( '3D Hover Box', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/3d-hover-box-flip-box-widget-for-elementor/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/flip-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
),
array(
'key' => 'premium-iconbox',
'name' => 'premium-addon-icon-box',
'title' => __( 'Icon Box', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/icon-box-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/icon-box-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
),
array(
'key' => 'premium-ihover',
'name' => 'premium-ihover',
'title' => __( 'iHover', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/ihover-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-ihover-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
),
array(
'key' => 'premium-unfold',
'name' => 'premium-unfold-addon',
'title' => __( 'Unfold', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/unfold-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-unfold-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
),
array(
'key' => 'premium-icon-list',
'name' => 'premium-icon-list',
'title' => __( 'Bullet List', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-bullet-list-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/bullet-list-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=MPeXJiZ14sI',
'draw_svg' => true,
),
array(
'key' => 'premium-svg-drawer',
'name' => 'premium-svg-drawer',
'title' => __( 'SVG Draw', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-svg-draw-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-svg-draw-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
),
),
),
'cat-8' => array(
'icon' => 'feed',
'title' => __( 'Social Feed Widgets', 'premium-addons-for-elementor' ),
'elements' => array(
array(
'key' => 'premium-facebook-feed',
'name' => 'premium-facebook-feed',
'title' => __( 'Facebook Feed', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-facebook-feed-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/facebook-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
),
array(
'key' => 'premium-twitter-feed',
'name' => 'premium-twitter-feed',
'title' => __( 'Twitter Feed', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/twitter-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/twitter-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=wsurRDuR6pg',
'is_pro' => true,
),
array(
'key' => 'premium-instagram-feed',
'name' => 'premium-addon-instagram-feed',
'title' => __( 'Instagram Feed', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/instagram-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/instagram-feed/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
),
array(
'key' => 'premium-pinterest-feed',
'name' => 'premium-pinterest-feed',
'title' => __( 'Pinterest Feed', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-pinterest-feed-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-pinterest-feed-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'icon' => 'pa-pinterest',
),
array(
'key' => 'premium-behance',
'name' => 'premium-behance-feed',
'title' => __( 'Behance Feed', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/behance-feed-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/behance-feed-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=AXATK3oIXl0',
'is_pro' => true,
),
),
),
'cat-9' => array(
'icon' => 'data',
'title' => __( 'Tables, Charts & Anything Data Widgets', 'premium-addons-for-elementor' ),
'elements' => array(
array(
'key' => 'premium-progressbar',
'name' => 'premium-addon-progressbar',
'title' => __( 'Progress Bar', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/progress-bar-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/premium-progress-bar-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=Y7xqwhgDQJg',
'draw_svg' => true,
),
array(
'key' => 'premium-pricing-table',
'name' => 'premium-addon-pricing-table',
'title' => __( 'Pricing Table', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/pricing-table-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/pricing-table-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
array(
'key' => 'premium-charts',
'name' => 'premium-chart',
'title' => __( 'Charts', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/charts-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/charts-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'tutorial' => 'https://www.youtube.com/watch?v=lZZvslQ2UYU',
'is_pro' => true,
),
array(
'key' => 'premium-tables',
'name' => 'premium-tables-addon',
'title' => __( 'Table', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/table-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/table-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
),
array(
'key' => 'premium-counter',
'name' => 'premium-counter',
'title' => __( 'Counter', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/counter-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/counter-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
array(
'key' => 'premium-world-clock',
'name' => 'premium-world-clock',
'title' => __( 'World Clock', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-world-clock-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-world-clock-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-weather',
'name' => 'premium-weather',
'title' => __( 'Weather', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-weather-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/elementor-weather-widget/', 'settings-page', 'wp-dash', 'dashboard' ),
'draw_svg' => true,
),
),
),
'cat-10' => array(
'icon' => 'contact',
'title' => __( 'Contact Widgets', 'premium-addons-for-elementor' ),
'elements' => array(
array(
'key' => 'premium-contactform',
'name' => 'premium-contact-form',
'title' => __( 'Contact Form 7', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/contact-form-7-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/contact-form-7-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-fb-chat',
'name' => 'premium-addon-facebook-chat',
'title' => __( 'Facebook Messenger Chat', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/facebook-messenger-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs-category/using-widgets/facebook-messenger/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
),
array(
'key' => 'premium-whatsapp-chat',
'name' => 'premium-whatsapp-chat',
'title' => __( 'WhatsApp Chat', 'premium-addons-for-elementor' ),
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/whatsapp-widget-for-elementor-page-builder/', 'settings-page', 'wp-dash', 'dashboard' ),
'doc' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/docs/whatsapp-chat-widget-tutorial/', 'settings-page', 'wp-dash', 'dashboard' ),
'is_pro' => true,
'draw_svg' => true,
),
),
),
'cat-11' => array(
'icon' => 'extensions',
'elements' => array(
array(
'key' => 'premium-templates',
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/premium-templates-for-elementor/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-equal-height',
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/premium-addons-global-features-for-elementor/#equal-height-feature', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'pa-display-conditions',
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-display-conditions/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-global-cursor',
'is_pro' => true,
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-custom-mouse-cursor-global-feature/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-global-badge',
'is_pro' => true,
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-badge-global-addon/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-floating-effects',
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-floating-effects-animation/', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-cross-domain',
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/premium-addons-global-features-for-elementor/#common-features', 'settings-page', 'wp-dash', 'dashboard' ),
),
array(
'key' => 'premium-duplicator',
),
array(
'key' => 'premium-assets-generator',
),
array(
'key' => 'premium-mscroll',
'is_pro' => true,
'demo' => Helper_Functions::get_campaign_link( 'https://premiumaddons.com/elementor-magic-scroll-global-addon/', 'settings-page', 'wp-dash', 'dashboard' ),
),
),
),
);
return $elements;
(function($){$.fn.datepicker.dates["bs"]={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}})(jQuery);
/**
* Functions which enhance the theme by hooking into WordPress
*
* @package WordPress
* @subpackage Twenty_Twenty_One
* @since Twenty Twenty-One 1.0
*/
/**
* Adds custom classes to the array of body classes.
*
* @since Twenty Twenty-One 1.0
*
* @param array $classes Classes for the body element.
* @return array
*/
function twenty_twenty_one_body_classes( $classes ) {
// Helps detect if JS is enabled or not.
$classes[] = 'no-js';
// Adds `singular` to singular pages, and `hfeed` to all other pages.
$classes[] = is_singular() ? 'singular' : 'hfeed';
// Add a body class if main navigation is active.
if ( has_nav_menu( 'primary' ) ) {
$classes[] = 'has-main-navigation';
}
// Add a body class if there are no footer widgets.
if ( ! is_active_sidebar( 'sidebar-1' ) ) {
$classes[] = 'no-widgets';
}
return $classes;
}
add_filter( 'body_class', 'twenty_twenty_one_body_classes' );
/**
* Adds custom class to the array of posts classes.
*
* @since Twenty Twenty-One 1.0
*
* @param array $classes An array of CSS classes.
* @return array
*/
function twenty_twenty_one_post_classes( $classes ) {
$classes[] = 'entry';
return $classes;
}
add_filter( 'post_class', 'twenty_twenty_one_post_classes', 10, 3 );
/**
* Add a pingback url auto-discovery header for single posts, pages, or attachments.
*
* @since Twenty Twenty-One 1.0
*
* @return void
*/
function twenty_twenty_one_pingback_header() {
if ( is_singular() && pings_open() ) {
echo ' ';
}
}
add_action( 'wp_head', 'twenty_twenty_one_pingback_header' );
/**
* Remove the `no-js` class from body if JS is supported.
*
* @since Twenty Twenty-One 1.0
*
* @return void
*/
/**
* Changes comment form default fields.
*
* @since Twenty Twenty-One 1.0
*
* @param array $defaults The form defaults.
* @return array
*/
function twenty_twenty_one_comment_form_defaults( $defaults ) {
// Adjust height of comment form.
$defaults['comment_field'] = preg_replace( '/rows="\d+"/', 'rows="5"', $defaults['comment_field'] );
return $defaults;
}
add_filter( 'comment_form_defaults', 'twenty_twenty_one_comment_form_defaults' );
/**
* Determines if post thumbnail can be displayed.
*
* @since Twenty Twenty-One 1.0
*
* @return bool
*/
function twenty_twenty_one_can_show_post_thumbnail() {
/**
* Filters whether post thumbnail can be displayed.
*
* @since Twenty Twenty-One 1.0
*
* @param bool $show_post_thumbnail Whether to show post thumbnail.
*/
return apply_filters(
'twenty_twenty_one_can_show_post_thumbnail',
! post_password_required() && ! is_attachment() && has_post_thumbnail()
);
}
/**
* Returns the size for avatars used in the theme.
*
* @since Twenty Twenty-One 1.0
*
* @return int
*/
function twenty_twenty_one_get_avatar_size() {
return 60;
}
/**
* Creates continue reading text.
*
* @since Twenty Twenty-One 1.0
*/
function twenty_twenty_one_continue_reading_text() {
$continue_reading = sprintf(
/* translators: %s: Post title. Only visible to screen readers. */
esc_html__( 'Continue reading %s', 'twentytwentyone' ),
the_title( '', ' ', false )
);
return $continue_reading;
}
/**
* Creates the continue reading link for excerpt.
*
* @since Twenty Twenty-One 1.0
*/
function twenty_twenty_one_continue_reading_link_excerpt() {
if ( ! is_admin() ) {
return '… ' . twenty_twenty_one_continue_reading_text() . ' ';
}
}
// Filter the excerpt more link.
add_filter( 'excerpt_more', 'twenty_twenty_one_continue_reading_link_excerpt' );
/**
* Creates the continue reading link.
*
* @since Twenty Twenty-One 1.0
*/
function twenty_twenty_one_continue_reading_link() {
if ( ! is_admin() ) {
return '';
}
}
// Filter the content more link.
add_filter( 'the_content_more_link', 'twenty_twenty_one_continue_reading_link' );
if ( ! function_exists( 'twenty_twenty_one_post_title' ) ) {
/**
* Adds a title to posts and pages that are missing titles.
*
* @since Twenty Twenty-One 1.0
*
* @param string $title The title.
* @return string
*/
function twenty_twenty_one_post_title( $title ) {
return '' === $title ? esc_html_x( 'Untitled', 'Added to posts and pages that are missing titles', 'twentytwentyone' ) : $title;
}
}
add_filter( 'the_title', 'twenty_twenty_one_post_title' );
/**
* Gets the SVG code for a given icon.
*
* @since Twenty Twenty-One 1.0
*
* @param string $group The icon group.
* @param string $icon The icon.
* @param int $size The icon size in pixels.
* @return string
*/
function twenty_twenty_one_get_icon_svg( $group, $icon, $size = 24 ) {
return Twenty_Twenty_One_SVG_Icons::get_svg( $group, $icon, $size );
}
/**
* Changes the default navigation arrows to svg icons
*
* @since Twenty Twenty-One 1.0
*
* @param string $calendar_output The generated HTML of the calendar.
* @return string
*/
function twenty_twenty_one_change_calendar_nav_arrows( $calendar_output ) {
$calendar_output = str_replace( '« ', is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ), $calendar_output );
$calendar_output = str_replace( ' »', is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' ), $calendar_output );
return $calendar_output;
}
add_filter( 'get_calendar', 'twenty_twenty_one_change_calendar_nav_arrows' );
/**
* Get custom CSS.
*
* Return CSS for non-latin language, if available, or null
*
* @since Twenty Twenty-One 1.0
*
* @param string $type Whether to return CSS for the "front-end", "block-editor", or "classic-editor".
* @return string
*/
function twenty_twenty_one_get_non_latin_css( $type = 'front-end' ) {
// Fetch site locale.
$locale = get_bloginfo( 'language' );
/**
* Filters the fallback fonts for non-latin languages.
*
* @since Twenty Twenty-One 1.0
*
* @param array $font_family An array of locales and font families.
*/
$font_family = apply_filters(
'twenty_twenty_one_get_localized_font_family_types',
array(
// Arabic.
'ar' => array( 'Tahoma', 'Arial', 'sans-serif' ),
'ary' => array( 'Tahoma', 'Arial', 'sans-serif' ),
'azb' => array( 'Tahoma', 'Arial', 'sans-serif' ),
'ckb' => array( 'Tahoma', 'Arial', 'sans-serif' ),
'fa-IR' => array( 'Tahoma', 'Arial', 'sans-serif' ),
'haz' => array( 'Tahoma', 'Arial', 'sans-serif' ),
'ps' => array( 'Tahoma', 'Arial', 'sans-serif' ),
// Chinese Simplified (China) - Noto Sans SC.
'zh-CN' => array( '\'PingFang SC\'', '\'Helvetica Neue\'', '\'Microsoft YaHei New\'', '\'STHeiti Light\'', 'sans-serif' ),
// Chinese Traditional (Taiwan) - Noto Sans TC.
'zh-TW' => array( '\'PingFang TC\'', '\'Helvetica Neue\'', '\'Microsoft YaHei New\'', '\'STHeiti Light\'', 'sans-serif' ),
// Chinese (Hong Kong) - Noto Sans HK.
'zh-HK' => array( '\'PingFang HK\'', '\'Helvetica Neue\'', '\'Microsoft YaHei New\'', '\'STHeiti Light\'', 'sans-serif' ),
// Cyrillic.
'bel' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
'bg-BG' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
'kk' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
'mk-MK' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
'mn' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
'ru-RU' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
'sah' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
'sr-RS' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
'tt-RU' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
'uk' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ),
// Devanagari.
'bn-BD' => array( 'Arial', 'sans-serif' ),
'hi-IN' => array( 'Arial', 'sans-serif' ),
'mr' => array( 'Arial', 'sans-serif' ),
'ne-NP' => array( 'Arial', 'sans-serif' ),
// Greek.
'el' => array( '\'Helvetica Neue\', Helvetica, Arial, sans-serif' ),
// Gujarati.
'gu' => array( 'Arial', 'sans-serif' ),
// Hebrew.
'he-IL' => array( '\'Arial Hebrew\'', 'Arial', 'sans-serif' ),
// Japanese.
'ja' => array( 'sans-serif' ),
// Korean.
'ko-KR' => array( '\'Apple SD Gothic Neo\'', '\'Malgun Gothic\'', '\'Nanum Gothic\'', 'Dotum', 'sans-serif' ),
// Thai.
'th' => array( '\'Sukhumvit Set\'', '\'Helvetica Neue\'', 'Helvetica', 'Arial', 'sans-serif' ),
// Vietnamese.
'vi' => array( '\'Libre Franklin\'', 'sans-serif' ),
)
);
// Return if the selected language has no fallback fonts.
if ( empty( $font_family[ $locale ] ) ) {
return '';
}
/**
* Filters the elements to apply fallback fonts to.
*
* @since Twenty Twenty-One 1.0
*
* @param array $elements An array of elements for "front-end", "block-editor", or "classic-editor".
*/
$elements = apply_filters(
'twenty_twenty_one_get_localized_font_family_elements',
array(
'front-end' => array( 'body', 'input', 'textarea', 'button', '.button', '.faux-button', '.wp-block-button__link', '.wp-block-file__button', '.has-drop-cap:not(:focus)::first-letter', '.entry-content .wp-block-archives', '.entry-content .wp-block-categories', '.entry-content .wp-block-cover-image', '.entry-content .wp-block-latest-comments', '.entry-content .wp-block-latest-posts', '.entry-content .wp-block-pullquote', '.entry-content .wp-block-quote.is-large', '.entry-content .wp-block-quote.is-style-large', '.entry-content .wp-block-archives *', '.entry-content .wp-block-categories *', '.entry-content .wp-block-latest-posts *', '.entry-content .wp-block-latest-comments *', '.entry-content p', '.entry-content ol', '.entry-content ul', '.entry-content dl', '.entry-content dt', '.entry-content cite', '.entry-content figcaption', '.entry-content .wp-caption-text', '.comment-content p', '.comment-content ol', '.comment-content ul', '.comment-content dl', '.comment-content dt', '.comment-content cite', '.comment-content figcaption', '.comment-content .wp-caption-text', '.widget_text p', '.widget_text ol', '.widget_text ul', '.widget_text dl', '.widget_text dt', '.widget-content .rssSummary', '.widget-content cite', '.widget-content figcaption', '.widget-content .wp-caption-text' ),
'block-editor' => array( '.editor-styles-wrapper > *', '.editor-styles-wrapper p', '.editor-styles-wrapper ol', '.editor-styles-wrapper ul', '.editor-styles-wrapper dl', '.editor-styles-wrapper dt', '.editor-post-title__block .editor-post-title__input', '.editor-styles-wrapper .wp-block h1', '.editor-styles-wrapper .wp-block h2', '.editor-styles-wrapper .wp-block h3', '.editor-styles-wrapper .wp-block h4', '.editor-styles-wrapper .wp-block h5', '.editor-styles-wrapper .wp-block h6', '.editor-styles-wrapper .has-drop-cap:not(:focus)::first-letter', '.editor-styles-wrapper cite', '.editor-styles-wrapper figcaption', '.editor-styles-wrapper .wp-caption-text' ),
'classic-editor' => array( 'body#tinymce.wp-editor', 'body#tinymce.wp-editor p', 'body#tinymce.wp-editor ol', 'body#tinymce.wp-editor ul', 'body#tinymce.wp-editor dl', 'body#tinymce.wp-editor dt', 'body#tinymce.wp-editor figcaption', 'body#tinymce.wp-editor .wp-caption-text', 'body#tinymce.wp-editor .wp-caption-dd', 'body#tinymce.wp-editor cite', 'body#tinymce.wp-editor table' ),
)
);
// Return if the specified type doesn't exist.
if ( empty( $elements[ $type ] ) ) {
return '';
}
// Include file if function doesn't exist.
if ( ! function_exists( 'twenty_twenty_one_generate_css' ) ) {
require_once get_theme_file_path( 'inc/custom-css.php' ); // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
}
// Return the specified styles.
return twenty_twenty_one_generate_css( // @phpstan-ignore-line.
implode( ',', $elements[ $type ] ),
'font-family',
implode( ',', $font_family[ $locale ] ),
null,
null,
false
);
}
/**
* Print the first instance of a block in the content, and then break away.
*
* @since Twenty Twenty-One 1.0
*
* @param string $block_name The full block type name, or a partial match.
* Example: `core/image`, `core-embed/*`.
* @param string|null $content The content to search in. Use null for get_the_content().
* @param int $instances How many instances of the block will be printed (max). Default 1.
* @return bool Returns true if a block was located & printed, otherwise false.
*/
function twenty_twenty_one_print_first_instance_of_block( $block_name, $content = null, $instances = 1 ) {
$instances_count = 0;
$blocks_content = '';
if ( ! $content ) {
$content = get_the_content();
}
// Parse blocks in the content.
$blocks = parse_blocks( $content );
// Loop blocks.
foreach ( $blocks as $block ) {
// Sanity check.
if ( ! isset( $block['blockName'] ) ) {
continue;
}
// Check if this the block matches the $block_name.
$is_matching_block = false;
// If the block ends with *, try to match the first portion.
if ( '*' === $block_name[-1] ) {
$is_matching_block = 0 === strpos( $block['blockName'], rtrim( $block_name, '*' ) );
} else {
$is_matching_block = $block_name === $block['blockName'];
}
if ( $is_matching_block ) {
// Increment count.
$instances_count++;
// Add the block HTML.
$blocks_content .= render_block( $block );
// Break the loop if the $instances count was reached.
if ( $instances_count >= $instances ) {
break;
}
}
}
if ( $blocks_content ) {
/** This filter is documented in wp-includes/post-template.php */
echo apply_filters( 'the_content', $blocks_content ); // phpcs:ignore WordPress.Security.EscapeOutput
return true;
}
return false;
}
/**
* Retrieve protected post password form content.
*
* @since Twenty Twenty-One 1.0
* @since Twenty Twenty-One 1.4 Corrected parameter name for `$output`,
* added the `$post` parameter.
*
* @param string $output The password form HTML output.
* @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
* @return string HTML content for password form for password protected post.
*/
function twenty_twenty_one_password_form( $output, $post = 0 ) {
$post = get_post( $post );
$label = 'pwbox-' . ( empty( $post->ID ) ? wp_rand() : $post->ID );
$output = '' . esc_html__( 'This content is password protected. Please enter a password to view.', 'twentytwentyone' ) . '
';
return $output;
}
add_filter( 'the_password_form', 'twenty_twenty_one_password_form', 10, 2 );
/**
* Filters the list of attachment image attributes.
*
* @since Twenty Twenty-One 1.0
*
* @param string[] $attr Array of attribute values for the image markup, keyed by attribute name.
* See wp_get_attachment_image().
* @param WP_Post $attachment Image attachment post.
* @param string|int[] $size Requested image size. Can be any registered image size name, or
* an array of width and height values in pixels (in that order).
* @return string[] The filtered attributes for the image markup.
*/
function twenty_twenty_one_get_attachment_image_attributes( $attr, $attachment, $size ) {
if ( is_admin() ) {
return $attr;
}
if ( isset( $attr['class'] ) && false !== strpos( $attr['class'], 'custom-logo' ) ) {
return $attr;
}
$width = false;
$height = false;
if ( is_array( $size ) ) {
$width = (int) $size[0];
$height = (int) $size[1];
} elseif ( $attachment && is_object( $attachment ) && $attachment->ID ) {
$meta = wp_get_attachment_metadata( $attachment->ID );
if ( isset( $meta['width'] ) && isset( $meta['height'] ) ) {
$width = (int) $meta['width'];
$height = (int) $meta['height'];
}
}
if ( $width && $height ) {
// Add style.
$attr['style'] = isset( $attr['style'] ) ? $attr['style'] : '';
$attr['style'] = 'width:100%;height:' . round( 100 * $height / $width, 2 ) . '%;max-width:' . $width . 'px;' . $attr['style'];
}
return $attr;
}
add_filter( 'wp_get_attachment_image_attributes', 'twenty_twenty_one_get_attachment_image_attributes', 10, 3 );/**
* Block Styles
*
* @link https://developer.wordpress.org/reference/functions/register_block_style/
*
* @package WordPress
* @subpackage Twenty_Twenty_One
* @since Twenty Twenty-One 1.0
*/
if ( function_exists( 'register_block_style' ) ) {
/**
* Register block styles.
*
* @since Twenty Twenty-One 1.0
*
* @return void
*/
function twenty_twenty_one_register_block_styles() {
// Columns: Overlap.
register_block_style(
'core/columns',
array(
'name' => 'twentytwentyone-columns-overlap',
'label' => esc_html__( 'Overlap', 'twentytwentyone' ),
)
);
// Cover: Borders.
register_block_style(
'core/cover',
array(
'name' => 'twentytwentyone-border',
'label' => esc_html__( 'Borders', 'twentytwentyone' ),
)
);
// Group: Borders.
register_block_style(
'core/group',
array(
'name' => 'twentytwentyone-border',
'label' => esc_html__( 'Borders', 'twentytwentyone' ),
)
);
// Image: Borders.
register_block_style(
'core/image',
array(
'name' => 'twentytwentyone-border',
'label' => esc_html__( 'Borders', 'twentytwentyone' ),
)
);
// Image: Frame.
register_block_style(
'core/image',
array(
'name' => 'twentytwentyone-image-frame',
'label' => esc_html__( 'Frame', 'twentytwentyone' ),
)
);
// Latest Posts: Dividers.
register_block_style(
'core/latest-posts',
array(
'name' => 'twentytwentyone-latest-posts-dividers',
'label' => esc_html__( 'Dividers', 'twentytwentyone' ),
)
);
// Latest Posts: Borders.
register_block_style(
'core/latest-posts',
array(
'name' => 'twentytwentyone-latest-posts-borders',
'label' => esc_html__( 'Borders', 'twentytwentyone' ),
)
);
// Media & Text: Borders.
register_block_style(
'core/media-text',
array(
'name' => 'twentytwentyone-border',
'label' => esc_html__( 'Borders', 'twentytwentyone' ),
)
);
// Separator: Thick.
register_block_style(
'core/separator',
array(
'name' => 'twentytwentyone-separator-thick',
'label' => esc_html__( 'Thick', 'twentytwentyone' ),
)
);
// Social icons: Dark gray color.
register_block_style(
'core/social-links',
array(
'name' => 'twentytwentyone-social-icons-color',
'label' => esc_html__( 'Dark gray', 'twentytwentyone' ),
)
);
}
add_action( 'init', 'twenty_twenty_one_register_block_styles' );
}
/**
* PA Premium Templates
*/
namespace PremiumAddons\Includes\Templates;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( 'Premium_Templates' ) ) {
/**
* Class Premium_Templates
*/
class Premium_Templates {
/**
* Instance of the class
*
* @access private
* @since 3.6.0
*/
private static $instance = null;
/**
* Holds API data
*
* @access public
* @since 3.6.0
*/
public $api;
/**
* Holds templates configuration data
*
* @access public
* @since 3.6.0
*/
public $config;
/**
* Holds templates assets
*
* @access public
* @since 3.6.0
*/
public $assets;
/**
* Templates Manager
*
* @access public
* @since 3.6.0
*/
public $temp_manager;
/**
* Holds templates types
*
* @access public
* @since 3.6.0
*/
public $types;
/**
* Construct
*
* Class Constructor
*
* @since 3.6.0
* @access public
*/
public function __construct() {
add_action( 'init', array( $this, 'init' ) );
}
/**
* Init Premium Templates
*
* @since 3.6.0
* @access public
*
* @return void
*/
public function init() {
$this->load_files();
$this->set_config();
$this->set_assets();
$this->set_api();
$this->set_types();
$this->set_templates_manager();
}
/**
* Load required files for premium templates
*
* @since 3.6.0
* @access private
*
* @return void
*/
private function load_files() {
require PREMIUM_ADDONS_PATH . 'includes/templates/classes/config.php';
require PREMIUM_ADDONS_PATH . 'includes/templates/classes/assets.php';
require PREMIUM_ADDONS_PATH . 'includes/templates/classes/manager.php';
require PREMIUM_ADDONS_PATH . 'includes/templates/types/manager.php';
require PREMIUM_ADDONS_PATH . 'includes/templates/classes/api.php';
}
/**
* Init `Premium_Templates_Core_Config`
*
* @since 3.6.0
* @access private
*
* @return void
*/
private function set_config() {
$this->config = new Classes\Premium_Templates_Core_Config();
}
/**
* Init `Premium_Templates_Assets`
*
* @since 3.6.0
* @access private
*
* @return void
*/
private function set_assets() {
$this->assets = new Classes\Premium_Templates_Assets();
}
/**
* Init `Premium_Templates_API`
*
* @since 3.6.0
* @access private
*
* @return void
*/
private function set_api() {
$this->api = new Classes\Premium_Templates_API();
}
/**
* Init `Premium_Templates_Types`
*
* @since 3.6.0
* @access private
*
* @return void
*/
private function set_types() {
$this->types = new Types\Premium_Templates_Types();
}
/**
* Init `Premium_Templates_Manager`
*
* @since 3.6.0
* @access private
*
* @return void
*/
private function set_templates_manager() {
$this->temp_manager = new Classes\Premium_Templates_Manager();
}
/**
* Get instance
*
* Creates and returns an instance of the class
*
* @since 0.0.1
* @access public
*
* @return object
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
}
}
if ( ! function_exists( 'premium_templates' ) ) {
/**
* Triggers `get_instance` method
*
* @since 3.6.0
* @access public
* return object
*/
function premium_templates() {
return Premium_Templates::get_instance();
}
}
premium_templates();